# writer:sp
# tiem: 2024/7/11 20:59
'''match 语句接受一个表达式并把它的值与一个或多个 case 块给出的一系列模式进行比较。
这表面上像 C、Java 或 JavaScript（以及许多其他程序设计语言）中的 switch 语句，
但其实它更像 Rust 或 Haskell 中的模式匹配。只有第一个匹配的模式会被执行，
并且它还可以提取值的组成部分（序列的元素或对象的属性）赋给变量。
最简单的形式是将一个主语值与一个或多个字面值进行比较'''
def match_example(value):
    match value:
        case "apple":
            print("It's an apple!")
        case "banana":
            print("It's a banana!")
        case "cherry" | "date":
            print("It's either a cherry or a date!")
        case _:
            print("It's something else!")

match_example("banana")  # 输出: It's a banana!
match_example("orange")  # 输出: It's something else!
